
arr=list(map(int,input().split()))

def dfs(arr,root,res):
    left=2*root+1
    right=2*root+2
    if len(arr)>left:
        dfs(arr,left,res)
        if len(arr)>right:
            dfs(arr,right,res)
        res.append(arr[root])

def getRresult():
    if len(arr)==1:
        return arr[0]
    res=[]
    dfs(arr,0,res)
    return " ".join(map(str,res))
print(getRresult())
# 1 2 3 4 5 6 7


# 3 5 7 -1 -1 2 4